package com.mars.manager.service;

import java.util.List;

import com.mars.base.service.IService;
import com.mars.manager.entity.Menu;
import com.mars.manager.exception.MenuBizException;
import com.mars.manager.vo.MenuVo;

public interface MenuService extends IService<Menu, Long> {

	/**
	 * 加载所有一级节点
	 * @return
	 * @throws MenuBizException
	 */
	List<MenuVo> loadRootNode() throws MenuBizException ;
	
	/**
	 * 根据ID加载子节点
	 * @return
	 * @throws MenuBizException
	 */
	List<MenuVo> loadChildrenNode(Long pid) throws MenuBizException ;
	
	/**
	 * 树状结构
	 * @return
	 * @throws MenuBizException
	 */
	List<MenuVo> tree() throws MenuBizException ;
	
	/**
	 * 树状表格
	 * @return
	 * @throws MenuBizException
	 */
	List<MenuVo> treegrid() throws MenuBizException ;
	
	/**
	 * 清除菜单所有缓存
	 * @return
	 */
	Long cleanCache() ;
	
	/**
	 * 将所有菜单的选中字段修改为不选中
	 */
	void uploadMenuSelect();
}
